116407964594400187
前言
Java的原子数据学习笔记
继承结构
graph TD
Object --> AtomicBoolean
Object --> Number
Number --> AtomicInteger
Object --> AtomicIntegerArray
Object --> Number
Number --> AtomicLong
Object --> AtomicLongArray
Object --> AtomicReference
Object --> AtomicReferenceArray
style Object fill:#f0f8ff,stroke:#696969
style AtomicBoolean fill:#f0f8ff,stroke:#696969
style Number fill:#f0f8ff,stroke:#696969
style AtomicInteger fill:#f0f8ff,stroke:#696969
style AtomicIntegerArray fill:#f0f8ff,stroke:#696969
style AtomicLong fill:#f0f8ff,stroke:#696969
style AtomicLongArray fill:#f0f8ff,stroke:#696969
style AtomicReference fill:#f0f8ff,stroke:#696969
style AtomicReferenceArray fill:#f0f8ff,stroke:#696969
AtomicInteger
创建对象
1
| AtomicInteger atomicInteger = new AtomicInteger();
|
0:缺省值,初始值
1
| AtomicInteger atomicInteger = new AtomicInteger(0);
|
实例方法
获取值
1
| int value = atomicInteger.get();
|
修改值
1 2 3
| int value = 0;
atomicInteger.set(value);
|
获取旧值并修改为新值
1 2 3
| int newValue = 0;
int oldValue = atomicInteger.getAndSet(newValue);
|
比较成功则修改为新值
1 2 3 4
| int compareValue = 0; int newValue = 0;
boolean success = atomicInteger.compareAndSet(compareValue, newValue);
|
获取旧值并将值自增1
1
| int oldValue = atomicInteger.getAndIncrement();
|
获取旧值并将值自减1
1
| int oldValue = atomicInteger.getAndDecrement();
|
获取旧值并将值加指定值
1 2 3
| int value = 0;
int oldValue = atomicInteger.getAndAdd(value);
|
将值自增1并获取新值
1
| int newValue = atomicInteger.incrementAndGet();
|
将值自减1并获取新值
1
| int newValue = atomicInteger.decrementAndGet();
|
将值加指定值并获取新值
1 2 3
| int value = 0;
int newValue = atomicInteger.addAndGet(value);
|
完成